home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / HENSA / MATHS / PLPLOT / PLPLOT.ZIP / cf / sysloc.in < prev   
Encoding:
Text File  |  1994-09-05  |  14.7 KB  |  634 lines

  1. # --*-sh-*---------------------------------------------------------------
  2. #
  3. # sysloc.in
  4. #
  5. # Maurice LeBrun
  6. # IFS, University of Texas at Austin
  7. # 14-Jul-1994
  8. #
  9. # This script sets up config variables for a Unix-like system.
  10. # The stuff set here is fairly generic and can be automated.
  11. # This includes how to find required header files and libraries.
  12. # Includes code and ideas taken from the BLT (Tk extension) configure.
  13. # -----------------------------------------------------------------------
  14.  
  15. # -----------------------------------------------------------------------
  16. # Run xmkmf to check for location of X libraries and includes.
  17. # If not found, I have to assume that X isn't available (it happens).
  18. # Can disable explicitly by specifying --disable-xwin.
  19. # -----------------------------------------------------------------------
  20.  
  21. AC_ENABLE(xwin, , enable_xwin="yes")
  22.  
  23. if test "$enable_xwin" = "yes"; then
  24.     if test -z "$XINCDIR" -o -z "$XLIBDIR"; then
  25.     AC_FIND_X
  26.  
  27.     XINCDIR="$x_includes"
  28.     if test -z "$XINCDIR"; then
  29.         AC_TEST_CPP([#include <X11/Intrinsic.h>], [ XINCDIR="default" ], [
  30.         places="\
  31.         /usr/include \
  32.         /usr/include/X11 \
  33.         /usr/include/X11R5 \
  34.         /usr/include/X11R4 \
  35.         /usr/include/X11/X11R5 \
  36.         /usr/include/X11/X11R4 \
  37.         /usr/X11/include \
  38.         /usr/X386/include \
  39.         /usr/X11R5/include \
  40.         /usr/local/X11R5/include \
  41.         /usr/openwin/include \
  42.         /usr/local/X11R4/include \
  43.         /usr/include/X11R4 \
  44.         /usr/local/include \
  45.         /usr/unsupported/include"
  46.  
  47.         for dir in $places; do
  48.         if test -r "$dir/X11/Intrinsic.h"; then
  49.             XINCDIR="$dir"
  50.             break
  51.         fi
  52.         done
  53.         if test -z "$XINCDIR"; then
  54.         echo "Warning:  couldn't find any X11 include files."
  55.         XINCDIR="default"
  56.         enable_xwin="no"
  57.         fi ])
  58.     fi
  59.     if test "$XINCDIR" = "/usr/include"; then
  60.         XINCDIR="default"
  61.     fi
  62.  
  63.     XLIBDIR="$x_libraries"
  64.     if test -z "$XLIBDIR"; then
  65.         AC_HAVE_LIBRARY(X11, [ XLIBDIR="default" ], [
  66.         places="\
  67.         /lib \
  68.         /usr/lib \
  69.         /usr/lib/X11R5 \
  70.         /usr/X11/lib \
  71.         /usr/X386/lib \
  72.         /usr/X11R5/lib \
  73.         /usr/local/X11R5/lib \
  74.         /usr/openwin/lib \
  75.         /usr/local/X11R4/lib \
  76.         /usr/lib/X11R4 \ 
  77.         /usr/local/lib \
  78.         /usr/unsupported/lib"
  79.  
  80.         for dir in $places; do
  81.         if test -r "$dir/libX11.a"; then
  82.             XLIBDIR="$dir"
  83.             break
  84.         fi
  85.         done
  86.         if test -z "$XLIBDIR"; then
  87.         echo "Warning:  couldn't find the X11 library archive. "
  88.         XLIBDIR="default"
  89.         fi ])
  90.     fi
  91.     if test "$XLIBDIR" = "/usr/lib"; then
  92.         XLIBDIR="default"
  93.     fi
  94.     fi
  95. fi
  96.  
  97. # -----------------------------------------------------------------------
  98. # Make some guesses where the Tcl/Tk include files and libraries are.
  99. # Look first in the Tcl/Tk distributions and then move on to the standard
  100. # include file/library locations.  If it's still not found I assume it's
  101. # not here.
  102. # -----------------------------------------------------------------------
  103.  
  104. # -----------------------------------------------------------------------
  105. # tcl.h
  106. # -----------------------------------------------------------------------
  107.  
  108. AC_ENABLE(tcl, , enable_tcl=$enable_xwin)
  109. header="tcl.h"
  110.  
  111. if test "$enable_tcl" = "yes"; then
  112.     if test -z "$TCLINCDIR"; then
  113.     echo "checking for $header"
  114.     TCLINCDIR=""
  115.     places="\
  116.     $prefix/include \
  117.     /usr/local/include \
  118.     /usr/include/tcl \
  119.     /usr/include \
  120.     /usr/local/tcl7.3/include \
  121.     $HOME/local/tcl7.3/include \
  122.     /usr/local/tk3.6/include \
  123.     $HOME/local/tk3.6/include \
  124.     $HOME/local/include \
  125.     $HOME/include \
  126.     $PWD/../tcl7.3 \
  127.     $XINCDIR/tk \
  128.     $XINCDIR"
  129.  
  130.     for dir in $places; do
  131.         if test -r "$dir/$header"; then
  132.         TCLINCDIR="$dir"
  133.         break
  134.         fi
  135.     done
  136.     if test -z "$TCLINCDIR"; then
  137.         echo "can't find $header, disabling Tcl support. "
  138.         enable_tcl="no"
  139.     fi
  140.     if test "$TCLINCDIR" = "/usr/include"; then
  141.         TCLINCDIR= "default"
  142.     fi
  143.     fi
  144. fi
  145.  
  146. # -----------------------------------------------------------------------
  147. # libtcl
  148. # -----------------------------------------------------------------------
  149.  
  150. if test "$enable_tcl" = "yes"; then
  151.     if test -z "$TCLLIBDIR"; then
  152.     echo "checking for -ltcl"
  153.     TCLLIBDIR=""
  154.     places="\
  155.     $prefix/lib \
  156.     /usr/local/lib \
  157.     /usr/local/tk3.6/lib \
  158.     $HOME/local/tk3.6/lib \
  159.     /usr/local/tcl7.3/lib \
  160.     $HOME/local/tcl7.3/lib \
  161.     $HOME/local/lib \
  162.     $HOME/lib \
  163.     $XLIBDIR \
  164.     $PWD/../tcl7.3 \
  165.     /usr/lib"
  166.  
  167.     for dir in $places; do
  168.         if test -r "$dir/libtcl.a" -o -r "$dir/libtcl.sl"; then
  169.         TCLLIBDIR="$dir"
  170.         break
  171.         fi
  172.     done
  173.  
  174.     if test -z "$TCLLIBDIR"; then
  175.         echo "can't find Tcl library, disabling Tcl support. "
  176.         enable_tcl="no"
  177.     fi
  178.     if test "$TCLLIBDIR" = "/usr/lib"; then
  179.         TCLLIBDIR= "default"
  180.     fi
  181.     fi
  182. fi
  183.  
  184. # -----------------------------------------------------------------------
  185. # dp.h
  186. #
  187. # If not in $TCLINCDIR, probably in the user's area.
  188. # -----------------------------------------------------------------------
  189.  
  190. AC_ENABLE(dp, , enable_dp=$enable_tcl)
  191.  
  192. if test "$enable_dp" = "yes"; then
  193.     if test -z "$DPINCDIR"; then
  194.     echo "checking for dp.h"
  195.     DPINCDIR=""
  196.     places="\
  197.     $prefix/include \
  198.     $TCLINCDIR \
  199.     $HOME/local/tcl7.3/include \
  200.     $HOME/local/tk3.6/include \
  201.     $HOME/local/include \
  202.     $HOME/include \
  203.     $PWD/../tcl-dp3.1 \
  204.     $PWD/../tcl-dp3.2"
  205.  
  206.     for dir in $places; do
  207.         if test -r "$dir/dp.h"; then
  208.         DPINCDIR="$dir"
  209.         break
  210.         fi
  211.     done
  212.     if test -z "$DPINCDIR"; then
  213.         echo "can't find dp.h, disabling Tcl-DP support. "
  214.         enable_dp="no"
  215.     fi
  216.     if test "$DPINCDIR" = "/usr/include"; then
  217.         DPINCDIR= "default"
  218.     fi
  219.     fi
  220. fi
  221.  
  222. # -----------------------------------------------------------------------
  223. # libdpnetwork (Tcl-DP)
  224. # -----------------------------------------------------------------------
  225.  
  226. if test "$enable_dp" = "yes"; then
  227.     if test -z "$DPLIBDIR"; then
  228.     echo "checking for -ldpnetwork"
  229.     DPLIBDIR=""
  230.     places="\
  231.     $prefix/lib \
  232.     $TCLLIBDIR \
  233.     /usr/local/lib \
  234.     /usr/local/tk3.6/lib \
  235.     $HOME/local/tk3.6/lib \
  236.     $HOME/local/lib \
  237.     $HOME/lib \
  238.     $XLIBDIR \
  239.     $PWD/../tcl-dp3.1 \
  240.     $PWD/../tcl-dp3.2 \
  241.     /usr/lib"
  242.  
  243.     for dir in $places; do
  244.         if test -r "$dir/libdpnetwork.a" -o -r "$dir/libdpnetwork.sl"; then
  245.         DPLIBDIR="$dir"
  246.         break
  247.         fi
  248.     done
  249.     if test -z "$DPLIBDIR"; then
  250.         echo "can't find Tcl-DP library, disabling Tcl-DP support. "
  251.         enable_dp="no"
  252.     fi
  253.     if test "$DPLIBDIR" = "/usr/lib"; then
  254.         DPLIBDIR="default"
  255.     fi
  256.     fi
  257. fi
  258.  
  259. # -----------------------------------------------------------------------
  260. # itcl.h
  261. #
  262. # If not in $TCLINCDIR, probably in the user's area.
  263. # -----------------------------------------------------------------------
  264.  
  265. AC_ENABLE(itcl, , enable_itcl=$enable_tcl)
  266. header="itcl.h"
  267.  
  268. if test "$enable_itcl" = "yes"; then
  269.     if test -z "$ITCLINCDIR"; then
  270.     echo "checking for $header"
  271.     ITCLINCDIR=""
  272.     places="\
  273.     $prefix/include \
  274.     $TCLINCDIR \
  275.     $HOME/local/tcl7.3/include \
  276.     $HOME/local/tk3.6/include \
  277.     $HOME/local/include \
  278.     $HOME/include \
  279.     $PWD/../itcl-1.5"
  280.  
  281.     for dir in $places; do
  282.         if test -r "$dir/$header"; then
  283.         ITCLINCDIR="$dir"
  284.         break
  285.         fi
  286.     done
  287.     if test -z "$ITCLINCDIR"; then
  288.         echo "can't find $header, disabling Itcl support. "
  289.         enable_itcl="no"
  290.     fi
  291.     if test "$ITCLINCDIR" = "/usr/include"; then
  292.         ITCLINCDIR= "default"
  293.     fi
  294.     fi
  295. fi
  296.  
  297. # -----------------------------------------------------------------------
  298. # libitcl ([incr Tcl])
  299. # -----------------------------------------------------------------------
  300.  
  301. if test "$enable_itcl" = "yes"; then
  302.     if test -z "$ITCLLIBDIR"; then
  303.     echo "checking for -litcl"
  304.     ITCLLIBDIR=""
  305.     places="\
  306.     $prefix/lib \
  307.     $TCLLIBDIR \
  308.     /usr/local/lib \
  309.     /usr/local/tk3.6/lib \
  310.     $HOME/local/tk3.6/lib \
  311.     $HOME/local/lib \
  312.     $HOME/lib \
  313.     $XLIBDIR \
  314.     $PWD/../itcl-1.5 \
  315.     /usr/lib"
  316.  
  317.     for dir in $places; do
  318.         if test -r "$dir/libitcl.a" -o -r "$dir/libitcl.sl"; then
  319.         ITCLLIBDIR="$dir"
  320.         break
  321.         fi
  322.     done
  323.     if test -z "$ITCLLIBDIR"; then
  324.         echo "can't find Itcl library, disabling Itcl support. "
  325.         enable_itcl="no"
  326.     fi
  327.     if test "$ITCLLIBDIR" = "/usr/lib"; then
  328.         ITCLLIBDIR="default"
  329.     fi
  330.     fi
  331. fi
  332.  
  333. # -----------------------------------------------------------------------
  334. # tk.h
  335. # -----------------------------------------------------------------------
  336.  
  337. AC_ENABLE(tk, , enable_tk=$enable_tcl)
  338. header="tk.h"
  339.  
  340. if test "$enable_tk" = "yes"; then
  341.     if test -z "$TKINCDIR"; then
  342.     echo "checking for $header"
  343.     TKINCDIR=""
  344.     places="\
  345.     $prefix/include \
  346.     $TCLINCDIR \
  347.     /usr/local/include \
  348.     /usr/local/tk3.6/include \
  349.     $HOME/local/tk3.6/include \
  350.     $HOME/local/include \
  351.     $HOME/include \
  352.     $PWD/../tk3.6 \
  353.     $XINCDIR/tk \
  354.     $XINCDIR \
  355.     /usr/include"
  356.  
  357.     for dir in $places; do
  358.         if test -r "$dir/$header"; then
  359.         TKINCDIR="$dir"
  360.         break
  361.         fi
  362.     done
  363.     if test -z "$TKINCDIR"; then
  364.         echo "can't find $header, disabling Tk support. "
  365.         enable_tk="no"
  366.     fi
  367.     if test "$TKINCDIR" = "/usr/include"; then
  368.         TKINCDIR="default"
  369.     fi
  370.     fi
  371. fi
  372.  
  373. # -----------------------------------------------------------------------
  374. # libtk
  375. # -----------------------------------------------------------------------
  376.  
  377. if test "$enable_tk" = "yes"; then
  378.     if test -z "$TKLIBDIR"; then
  379.     echo "checking for -ltk"
  380.     TKLIBDIR=""
  381.     places="\
  382.     $prefix/lib \
  383.     $TCLLIBDIR \
  384.     /usr/local/lib \
  385.     /usr/local/tk3.6/lib \
  386.     $HOME/local/tk3.6/lib \
  387.     $HOME/local/lib \
  388.     $HOME/lib \
  389.     $XLIBDIR \
  390.     $PWD/../tk3.6 \
  391.     /usr/lib"
  392.  
  393.     for dir in $places; do
  394.         if test -r "$dir/libtk.a" -o -r "$dir/libtk.sl"; then
  395.         TKLIBDIR="$dir"
  396.         break
  397.         fi
  398.     done
  399.     if test -z "$TKLIBDIR"; then
  400.         echo "can't find TK library, disabling Tk support. "
  401.         enable_tk="no"
  402.     fi
  403.     if test "$TKLIBDIR" = "/usr/lib"; then
  404.         TKLIBDIR="default"
  405.     fi
  406.     fi
  407. fi
  408.  
  409. # -----------------------------------------------------------------------
  410. # Assemble list of tcl/TK/X/whatever include directives.  These can go in
  411. # any order.
  412. #
  413. # I go to a bit of trouble to eliminate redundant -I specifications (to
  414. # keep the build line concise).
  415. # -----------------------------------------------------------------------
  416.  
  417. inc_path=""
  418.  
  419. if test "$enable_xwin" = "yes"; then
  420.     XINCSW=""
  421.     if test "$XINCDIR" != "default"; then
  422.     XINCSW="-I$XINCDIR"
  423.     fi
  424.     for dir in $inc_path; do
  425.     if test "$XINCDIR" = "$dir"; then
  426.         XINCSW=""
  427.         break
  428.     fi
  429.     done
  430.     INCS="$INCS $XINCSW"
  431.     inc_path="$inc_path $XINCDIR"
  432. fi
  433.  
  434. if test "$enable_tcl" = "yes"; then
  435.     TCLINCSW=""
  436.     if test "$TCLINCDIR" != "default"; then
  437.     TCLINCSW="-I$TCLINCDIR"
  438.     fi
  439.     for dir in $inc_path; do
  440.     if test "$TCLINCDIR" = "$dir"; then
  441.         TCLINCSW=""
  442.         break
  443.     fi
  444.     done
  445.     INCS="$INCS $TCLINCSW"
  446.     inc_path="$inc_path $TCLINCDIR"
  447. fi
  448.  
  449. if test "$enable_dp" = "yes"; then
  450.     DPINCSW=""
  451.     if test "$DPINCDIR" != "default"; then
  452.     DPINCSW="-I$DPINCDIR"
  453.     fi
  454.     for dir in $inc_path; do
  455.     if test "$DPINCDIR" = "$dir"; then
  456.         DPINCSW=""
  457.         break
  458.     fi
  459.     done
  460.     INCS="$INCS $DPINCSW"
  461.     inc_path="$inc_path $DPINCDIR"
  462. fi
  463.  
  464. if test "$enable_itcl" = "yes"; then
  465.     ITCLINCSW=""
  466.     if test "$ITCLINCDIR" != "default"; then
  467.     ITCLINCSW="-I$ITCLINCDIR"
  468.     fi
  469.     for dir in $inc_path; do
  470.     if test "$ITCLINCDIR" = "$dir"; then
  471.         ITCLINCSW=""
  472.         break
  473.     fi
  474.     done
  475.     INCS="$INCS $ITCLINCSW"
  476.     inc_path="$inc_path $ITCLINCDIR"
  477. fi
  478.  
  479. if test "$enable_tk" = "yes"; then
  480.     AC_SUBST(TKINCDIR)
  481.     TKINCSW=""
  482.     if test "$TKINCDIR" != "default"; then
  483.     TKINCSW="-I$TKINCDIR"
  484.     fi
  485.     for dir in $inc_path; do
  486.     if test "$TKINCDIR" = "$dir"; then
  487.         TKINCSW=""
  488.         break
  489.     fi
  490.     done
  491.     INCS="$INCS $TKINCSW"
  492.     inc_path="$inc_path $TKINCDIR"
  493. fi
  494.  
  495. # -----------------------------------------------------------------------
  496. # Assemble list of tcl/TK/X/whatever libraries.
  497. # Note the library order CAN be important, depending on the system.  
  498. #
  499. # I go to a bit of trouble to eliminate redundant -L specifications (to
  500. # keep the build line concise).
  501. # -----------------------------------------------------------------------
  502.  
  503. lib_path=""
  504.  
  505. # The full Tcl-DP library depends on both Tk and Tcl so must come first.
  506.  
  507. if test "$enable_dp" = "yes"; then
  508.     DPLIBSW=""
  509.     if test "$DPLIBDIR" != "default"; then
  510.     DPLIBSW="-L$DPLIBDIR"
  511.     fi
  512.     for dir in $lib_path; do
  513.     if test "$DPLIBDIR" = "$dir"; then
  514.         DPLIBSW=""
  515.         break
  516.     fi
  517.     done
  518.     LIBS="$LIBS $DPLIBSW -ldpnetwork"
  519.     lib_path="$lib_path $DPLIBDIR"
  520. fi
  521.  
  522. # Tk depends on Tcl and X11 so must come before both.
  523.  
  524. if test "$enable_tk" = "yes"; then
  525.     TKLIBSW=""
  526.     if test "$TKLIBDIR" != "default"; then
  527.     TKLIBSW="-L$TKLIBDIR"
  528.     fi
  529.     for dir in $lib_path; do
  530.     if test "$TKLIBDIR" = "$dir"; then
  531.         TKLIBSW=""
  532.         break
  533.     fi
  534.     done
  535.     LIBS="$LIBS $TKLIBSW -ltk"
  536.     lib_path="$lib_path $TKLIBDIR"
  537. fi
  538.  
  539. # Itcl depends on Tcl so must come before it.
  540.  
  541. if test "$enable_itcl" = "yes"; then
  542.     ITCLLIBSW=""
  543.     if test "$ITCLLIBDIR" != "default"; then
  544.     ITCLLIBSW="-L$ITCLLIBDIR"
  545.     fi
  546.     for dir in $lib_path; do
  547.     if test "$ITCLLIBDIR" = "$dir"; then
  548.         ITCLLIBSW=""
  549.         break
  550.     fi
  551.     done
  552.     LIBS="$LIBS $ITCLLIBSW -litcl"
  553.     lib_path="$lib_path $ITCLLIBDIR"
  554. fi
  555.  
  556. # Tcl and X11 can be put in either order.
  557.  
  558. if test "$enable_tcl" = "yes"; then
  559.     TCLLIBSW=""
  560.     if test "$TCLLIBDIR" != "default"; then
  561.     TCLLIBSW="-L$TCLLIBDIR"
  562.     fi
  563.     for dir in $lib_path; do
  564.     if test "$TCLLIBDIR" = "$dir"; then
  565.         TCLLIBSW=""
  566.         break
  567.     fi
  568.     done
  569.     LIBS="$LIBS $TCLLIBSW -ltcl"
  570.     lib_path="$lib_path $TCLLIBDIR"
  571. fi
  572.  
  573. if test "$enable_xwin" = "yes"; then
  574.     XLIBSW=""
  575.     if test "$XLIBDIR" != "default"; then
  576.     XLIBSW="-L$XLIBDIR"
  577.     fi
  578.     for dir in $lib_path; do
  579.     if test "$XLIBDIR" = "$dir"; then
  580.         XLIBSW=""
  581.         break
  582.     fi
  583.     done
  584.     LIBS="$LIBS $XLIBSW -lX11"
  585.     lib_path="$lib_path $XLIBDIR"
  586. fi
  587.  
  588. #--------------------------------------------------------------------
  589. # Check for the existence of various libraries.  The order here
  590. # is important, so that then end up in the right order in the
  591. # command line generated by Make.
  592. #
  593. # Most of this is copied from the BLT configure script.  Dunno if the
  594. # Xbsd library is really needed.  libsocket and libnsl are needed on
  595. # some SysV systems.  libieee.a is supposed to be a Linux deal, dunno if
  596. # it's important either.
  597. #
  598. # On some systems the linker doesn't return an error code to the shell if
  599. # you try to link with nonexistant libraries, so need to handle these
  600. # explicitly.
  601. #--------------------------------------------------------------------
  602.  
  603. if test -z "$EXTRA_LIBS"; then
  604.     EXTRA_LIBS=
  605.     case $system in 
  606.     CRAY* ) 
  607.         EXTRA_LIBS="$EXTRA_LIBS -lm"
  608.     ;;
  609.     * )     
  610.         AC_HAVE_LIBRARY(Xbsd,   [EXTRA_LIBS="$EXTRA_LIBS -lXbsd"])
  611.         AC_HAVE_LIBRARY(socket, [EXTRA_LIBS="$EXTRA_LIBS -lsocket"])
  612.         AC_HAVE_LIBRARY(nsl,    [EXTRA_LIBS="$EXTRA_LIBS -lnsl"])
  613.         AC_HAVE_LIBRARY(ieee,   [EXTRA_LIBS="$EXTRA_LIBS -lieee"])
  614.         AC_HAVE_LIBRARY(m,      [EXTRA_LIBS="$EXTRA_LIBS -lm"])
  615.     ;;
  616.     esac
  617. fi
  618. LIBS="$LIBS $EXTRA_LIBS"
  619.  
  620. AC_SUBST(EXTRA_LIBS)
  621. AC_SUBST(LIBS)
  622.  
  623. # -----------------------------------------------------------------------
  624. # libf2c
  625. # -----------------------------------------------------------------------
  626.  
  627. if test "$with_f2c" = "yes"; then
  628.     AC_HAVE_LIBRARY(f2c, [LIBS="$LIBS -lf2c"],
  629.     [echo "Warning:  couldn't find libf2c."])
  630. fi
  631.  
  632. AC_SUBST(INCS)
  633. AC_SUBST(LIBS)
  634.